Add profiler marks around css selector tree building
authorMatthias Clasen <mclasen@redhat.com>
Thu, 23 Jan 2020 15:29:22 +0000 (10:29 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Thu, 23 Jan 2020 15:29:22 +0000 (10:29 -0500)
This is a big part of theme loading, and worth
showing in traces.

gtk/gtkcssprovider.c

index f97776d801533d5e07f20f16d593eb6165d23795..6c25afae67aac5ecba7f4998d6b8cc4a0953a5d9 100644 (file)
@@ -967,6 +967,7 @@ gtk_css_provider_postprocess (GtkCssProvider *css_provider)
   GtkCssProviderPrivate *priv = gtk_css_provider_get_instance_private (css_provider);
   GtkCssSelectorTreeBuilder *builder;
   guint i;
+  gint64 before = g_get_monotonic_time ();
 
   g_array_sort (priv->rulesets, gtk_css_provider_compare_rule);
 
@@ -997,6 +998,9 @@ gtk_css_provider_postprocess (GtkCssProvider *css_provider)
       ruleset->selector = NULL;
     }
 #endif
+
+  if (gdk_profiler_is_running ())
+    gdk_profiler_add_mark (before * 1000, (g_get_monotonic_time () - before) * 1000, "create selector tree", NULL);
 }
 
 static void